package com.ruoyi.ldzlsc.mapper;

import com.ruoyi.ldzlsc.domain.ScMaterialIssueDetail;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;

public interface ScMaterialIssueDetailMapper {
    public int batchInsertScMaterialIssueDetail(List<ScMaterialIssueDetail> details);

    /**
     * 根据工序任务ID和物料ID查询实际领料数量
     * @param workOrderTaskId 工序任务ID
     * @param materialId 物料ID
     * @return 实际领料数量
     */
    public BigDecimal selectActualIssueQtyByTaskAndMaterial(@Param("workOrderTaskId") Long workOrderTaskId,
                                                           @Param("materialId") Long materialId);

    /**
     * 根据工序任务ID查询所有物料的实际领料数量
     * @param workOrderTaskId 工序任务ID
     * @return 物料领料明细列表
     */
    public List<ScMaterialIssueDetail> selectIssueDetailsByTaskId(@Param("workOrderTaskId") Long workOrderTaskId);

    /**
     * 调试用：查询指定工序任务的所有领料记录（包含领料单信息）
     * @param workOrderTaskId 工序任务ID
     * @return 调试信息
     */
    public List<java.util.Map<String, Object>> selectDebugIssueInfoByTaskId(@Param("workOrderTaskId") Long workOrderTaskId);
}